package com.adderis.soft.domain.dao;

import java.util.List;

import com.adderis.soft.domain.model.Cas;

/**
 * DAO for domain model class Cas.
 * 
 * @see com.adderis.soft.domain.model.Cas
 * @author Reda
 */
public interface ICasDao {

	/**
	 * Persist a Cas entity in the database
	 * 
	 * @param transientCas
	 */
	public void persist(Cas transientCas);

	/**
	 * Remove a persisted Cas from the database
	 * 
	 * @param persistentCas
	 */
	public void remove(Cas persistentCas);

	/**
	 * Remove a persisted Cas from the database
	 * 
	 * @param CasId
	 */
	public void remove(Integer CasId);

	/**
	 * Update a Cas in the database
	 * 
	 * @param detachedCas
	 * @return merged Cas
	 */
	public Cas merge(Cas detachedCas);

	/**
	 * Find a Cas by id
	 * 
	 * @param id
	 * @return the found Cas
	 */
	public Cas findById(Integer id);

	/**
	 * Find a list of Cas
	 * 
	 * @return the found Cas
	 */
	public List<Cas> findAll();

	/**
	 * Search Cass
	 * 
	 * @param searchString
	 * @return the found Cass
	 */
	public List<Cas> search(String searchString);

}
